import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import plotly.express as px
from plotly.subplots import make_subplots
import plotly.graph_objects as go
cols = px.colors.DEFAULT_PLOTLY_COLORS
TopProduction = pd.read_csv("TopProductionMethods.csv")
TopDistributors = pd.read_csv("TopDistributors.csv")
TopGenres = pd.read_csv("TopGenres.csv")
PopularTypes = pd.read_csv("PopularCreativeTypes.csv")
TopGrossingRatings = pd.read_csv("TopGrossingRatings.csv")
TopGrossingSources = pd.read_csv("TopGrossingSources.csv")
HighestGrossers = pd.read_csv("HighestGrossers.csv")
AnnualTicketSales = pd.read_csv("AnnualTicketSales.csv")
WideReleasesCount = pd.read_csv("WideReleasesCount.csv")
TopProduction["MARKET SHARE"] = TopProduction["MARKET SHARE"].str.replace('%','').astype("float64")
TopProduction[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]] = TopProduction[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]].replace({"\$":'',',':''},regex=True)
TopProduction[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]] = TopProduction[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]].astype('float64')
TopProduction
| RANK | PRODUCTION METHODS | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1 | Live Action | 14613.0 | 1.796372e+11 | 12292972.0 | 75.56 |
| 1 | 2 | Animation/Live Action | 264.0 | 3.034662e+10 | 114949327.0 | 12.76 |
| 2 | 3 | Digital Animation | 365.0 | 2.392018e+10 | 65534741.0 | 10.06 |
| 3 | 4 | Hand Animation | 164.0 | 2.960497e+09 | 18051814.0 | 1.25 |
| 4 | 5 | Stop-Motion Animation | 37.0 | 6.764901e+08 | 18283517.0 | 0.28 |
| 5 | 6 | Multiple Production Methods | 26.0 | 4.372830e+07 | 1681858.0 | 0.02 |
| 6 | 7 | Rotoscoping | 4.0 | 8.468385e+06 | 2117096.0 | 0.00 |
TopDistributors
| RANK | DISTRIBUTORS | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1 | Walt Disney | 588 | $40,472,424,278 | $68,830,654 | 17.02% |
| 1 | 2 | Warner Bros. | 824 | $36,269,425,479 | $44,016,293 | 15.25% |
| 2 | 3 | Sony Pictures | 747 | $29,113,002,302 | $38,973,229 | 12.24% |
| 3 | 4 | Universal | 535 | $28,089,932,569 | $52,504,547 | 11.81% |
| 4 | 5 | 20th Century Fox | 525 | $25,857,839,756 | $49,253,028 | 10.88% |
| 5 | 6 | Paramount Pictures | 493 | $24,361,425,304 | $49,414,656 | 10.25% |
| 6 | 7 | Lionsgate | 426 | $9,631,837,781 | $22,609,948 | 4.05% |
| 7 | 8 | New Line | 209 | $6,195,268,024 | $29,642,431 | 2.61% |
| 8 | 9 | Dreamworks SKG | 77 | $4,278,649,271 | $55,566,874 | 1.80% |
| 9 | 10 | Miramax | 385 | $3,836,019,208 | $9,963,686 | 1.61% |
TopDistributors["MARKET SHARE"] = TopDistributors["MARKET SHARE"].str.replace('%','').astype("float64")
TopDistributors[["TOTAL GROSS","AVERAGE GROSS"]] = TopDistributors[["TOTAL GROSS","AVERAGE GROSS"]].replace({"\$":'',',':''},regex=True)
TopDistributors[["TOTAL GROSS","AVERAGE GROSS"]] = TopDistributors[["TOTAL GROSS","AVERAGE GROSS"]].astype('float64')
TopDistributors
| RANK | DISTRIBUTORS | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1 | Walt Disney | 588 | 4.047242e+10 | 68830654.0 | 17.02 |
| 1 | 2 | Warner Bros. | 824 | 3.626943e+10 | 44016293.0 | 15.25 |
| 2 | 3 | Sony Pictures | 747 | 2.911300e+10 | 38973229.0 | 12.24 |
| 3 | 4 | Universal | 535 | 2.808993e+10 | 52504547.0 | 11.81 |
| 4 | 5 | 20th Century Fox | 525 | 2.585784e+10 | 49253028.0 | 10.88 |
| 5 | 6 | Paramount Pictures | 493 | 2.436143e+10 | 49414656.0 | 10.25 |
| 6 | 7 | Lionsgate | 426 | 9.631838e+09 | 22609948.0 | 4.05 |
| 7 | 8 | New Line | 209 | 6.195268e+09 | 29642431.0 | 2.61 |
| 8 | 9 | Dreamworks SKG | 77 | 4.278649e+09 | 55566874.0 | 1.80 |
| 9 | 10 | Miramax | 385 | 3.836019e+09 | 9963686.0 | 1.61 |
TopGenres
| RANK | GENRES | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1 | Adventure | 1,102 | $64,529,536,530 | $58,556,748 | 27.14% |
| 1 | 2 | Action | 1,098 | $49,339,974,493 | $44,936,224 | 20.75% |
| 2 | 3 | Drama | 5,479 | $35,586,177,269 | $6,495,013 | 14.97% |
| 3 | 4 | Comedy | 2,418 | $33,687,992,318 | $13,932,172 | 14.17% |
| 4 | 5 | Thriller/Suspense | 1,186 | $19,810,201,102 | $16,703,374 | 8.33% |
| 5 | 6 | Horror | 716 | $13,430,378,699 | $18,757,512 | 5.65% |
| 6 | 7 | Romantic Comedy | 630 | $10,480,124,374 | $16,635,118 | 4.41% |
| 7 | 8 | Musical | 201 | $4,293,988,317 | $21,363,126 | 1.81% |
| 8 | 9 | Documentary | 2,415 | $2,519,513,142 | $1,043,277 | 1.06% |
| 9 | 10 | Black Comedy | 213 | $2,185,433,323 | $10,260,250 | 0.92% |
TopGenres["MARKET SHARE"] = TopGenres["MARKET SHARE"].str.replace('%','').astype("float64")
TopGenres[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]] = TopGenres[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]].replace({"\$":'',',':''},regex=True)
TopGenres[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]] = TopGenres[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]].astype('float64')
TopGenres
| RANK | GENRES | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1 | Adventure | 1102.0 | 6.452954e+10 | 58556748.0 | 27.14 |
| 1 | 2 | Action | 1098.0 | 4.933997e+10 | 44936224.0 | 20.75 |
| 2 | 3 | Drama | 5479.0 | 3.558618e+10 | 6495013.0 | 14.97 |
| 3 | 4 | Comedy | 2418.0 | 3.368799e+10 | 13932172.0 | 14.17 |
| 4 | 5 | Thriller/Suspense | 1186.0 | 1.981020e+10 | 16703374.0 | 8.33 |
| 5 | 6 | Horror | 716.0 | 1.343038e+10 | 18757512.0 | 5.65 |
| 6 | 7 | Romantic Comedy | 630.0 | 1.048012e+10 | 16635118.0 | 4.41 |
| 7 | 8 | Musical | 201.0 | 4.293988e+09 | 21363126.0 | 1.81 |
| 8 | 9 | Documentary | 2415.0 | 2.519513e+09 | 1043277.0 | 1.06 |
| 9 | 10 | Black Comedy | 213.0 | 2.185433e+09 | 10260250.0 | 0.92 |
PopularTypes
| RANK | CREATIVE TYPES | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1.0 | Contemporary Fiction | 7,442 | $96,203,727,036 | $12,927,133 | 40.46% |
| 1 | 2.0 | Kids Fiction | 564 | $32,035,539,746 | $56,800,602 | 13.47% |
| 2 | 3.0 | Science Fiction | 724 | $29,922,660,857 | $41,329,642 | 12.59% |
| 3 | 4.0 | Fantasy | 759 | $21,724,062,575 | $28,621,953 | 9.14% |
| 4 | 5.0 | Super Hero | 129 | $20,273,157,911 | $157,156,263 | 8.53% |
| 5 | 6.0 | Historical Fiction | 1,487 | $18,521,260,744 | $12,455,454 | 7.79% |
| 6 | 7.0 | Dramatization | 1,175 | $15,715,191,699 | $13,374,631 | 6.61% |
| 7 | 8.0 | Factual | 2,467 | $2,960,327,207 | $1,199,970 | 1.25% |
| 8 | 9.0 | Multiple Creative Types | 42 | $117,574,526 | $2,799,393 | 0.05% |
| 9 | NaN | NaN | NaN | NaN | NaN | NaN |
PopularTypes["MARKET SHARE"] = PopularTypes["MARKET SHARE"].str.replace('%','').astype("float64")
PopularTypes[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]] = PopularTypes[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]].replace({"\$":'',',':''},regex=True)
PopularTypes[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]] = PopularTypes[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]].astype('float64')
PopularTypes = PopularTypes.dropna(axis=0) #Remove NAN row
PopularTypes
| RANK | CREATIVE TYPES | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1.0 | Contemporary Fiction | 7442.0 | 9.620373e+10 | 12927133.0 | 40.46 |
| 1 | 2.0 | Kids Fiction | 564.0 | 3.203554e+10 | 56800602.0 | 13.47 |
| 2 | 3.0 | Science Fiction | 724.0 | 2.992266e+10 | 41329642.0 | 12.59 |
| 3 | 4.0 | Fantasy | 759.0 | 2.172406e+10 | 28621953.0 | 9.14 |
| 4 | 5.0 | Super Hero | 129.0 | 2.027316e+10 | 157156263.0 | 8.53 |
| 5 | 6.0 | Historical Fiction | 1487.0 | 1.852126e+10 | 12455454.0 | 7.79 |
| 6 | 7.0 | Dramatization | 1175.0 | 1.571519e+10 | 13374631.0 | 6.61 |
| 7 | 8.0 | Factual | 2467.0 | 2.960327e+09 | 1199970.0 | 1.25 |
| 8 | 9.0 | Multiple Creative Types | 42.0 | 1.175745e+08 | 2799393.0 | 0.05 |
TopGrossingRatings
| RANK | MPAA RATINGS | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1 | PG-13 | 3,243 | $113,524,789,243 | $35,006,102 | 47.75% |
| 1 | 2 | R | 5,480 | $63,497,164,978 | $11,587,074 | 26.71% |
| 2 | 3 | PG | 1,535 | $49,124,317,794 | $32,002,813 | 20.66% |
| 3 | 4 | G | 395 | $9,572,240,391 | $24,233,520 | 4.03% |
| 4 | 5 | Not Rated | 5,820 | $1,918,358,283 | $329,615 | 0.81% |
| 5 | 6 | NC-17 | 24 | $44,850,139 | $1,868,756 | 0.02% |
| 6 | 7 | Open | 5 | $5,489,687 | $1,097,937 | 0.00% |
| 7 | 8 | GP | 7 | $552,618 | $78,945 | 0.00% |
TopGrossingRatings["MARKET SHARE"] = TopGrossingRatings["MARKET SHARE"].str.replace('%','').astype("float64")
TopGrossingRatings[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]] = TopGrossingRatings[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]].replace({"\$":'',',':''},regex=True)
TopGrossingRatings[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]] = TopGrossingRatings[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]].astype('float64')
TopGrossingSources
| RANK | SOURCES | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1 | Original Screenplay | 7,946 | $106,375,196,782 | $13,387,264 | 44.74% |
| 1 | 2 | Based on Fiction Book/Short Story | 2,150 | $47,005,613,207 | $21,863,076 | 19.77% |
| 2 | 3 | Based on Comic/Graphic Novel | 249 | $23,369,989,130 | $93,855,378 | 9.83% |
| 3 | 4 | Remake | 328 | $12,832,659,970 | $39,123,963 | 5.40% |
| 4 | 5 | Based on Real Life Events | 3,225 | $11,398,356,297 | $3,534,374 | 4.79% |
| 5 | 6 | Based on TV | 231 | $11,305,006,312 | $48,939,421 | 4.75% |
| 6 | 7 | Based on Factual Book/Article | 295 | $7,443,681,990 | $25,232,820 | 3.13% |
| 7 | 8 | Spin-Off | 41 | $3,833,128,331 | $93,490,935 | 1.61% |
| 8 | 9 | Based on Folk Tale/Legend/Fairytale | 78 | $3,406,118,495 | $43,668,186 | 1.43% |
| 9 | 10 | Based on Play | 271 | $2,111,190,923 | $7,790,372 | 0.89% |
TopGrossingSources["MARKET SHARE"] = TopGrossingSources["MARKET SHARE"].str.replace('%','').astype("float64")
TopGrossingSources[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]] = TopGrossingSources[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]].replace({"\$":'',',':''},regex=True)
TopGrossingSources[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]] = TopGrossingSources[["TOTAL GROSS","AVERAGE GROSS","MOVIES"]].astype('float64')
TopGrossingSources
| RANK | SOURCES | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1 | Original Screenplay | 7946.0 | 1.063752e+11 | 13387264.0 | 44.74 |
| 1 | 2 | Based on Fiction Book/Short Story | 2150.0 | 4.700561e+10 | 21863076.0 | 19.77 |
| 2 | 3 | Based on Comic/Graphic Novel | 249.0 | 2.336999e+10 | 93855378.0 | 9.83 |
| 3 | 4 | Remake | 328.0 | 1.283266e+10 | 39123963.0 | 5.40 |
| 4 | 5 | Based on Real Life Events | 3225.0 | 1.139836e+10 | 3534374.0 | 4.79 |
| 5 | 6 | Based on TV | 231.0 | 1.130501e+10 | 48939421.0 | 4.75 |
| 6 | 7 | Based on Factual Book/Article | 295.0 | 7.443682e+09 | 25232820.0 | 3.13 |
| 7 | 8 | Spin-Off | 41.0 | 3.833128e+09 | 93490935.0 | 1.61 |
| 8 | 9 | Based on Folk Tale/Legend/Fairytale | 78.0 | 3.406118e+09 | 43668186.0 | 1.43 |
| 9 | 10 | Based on Play | 271.0 | 2.111191e+09 | 7790372.0 | 0.89 |
HighestGrossers = pd.read_csv("HighestGrossers.csv")
HighestGrossers
| YEAR | MOVIE | GENRE | MPAA RATING | DISTRIBUTOR | TOTAL FOR YEAR | TOTAL IN 2019 DOLLARS | TICKETS SOLD | |
|---|---|---|---|---|---|---|---|---|
| 0 | 1995 | Batman Forever | Drama | PG-13 | Warner Bros. | $184,031,112 | $387,522,978 | 4,23,06,002 |
| 1 | 1996 | Independence Day | Adventure | PG-13 | 20th Century Fox | $306,169,255 | $634,504,608 | 6,92,69,062 |
| 2 | 1997 | Men in Black | Adventure | PG-13 | Sony Pictures | $250,650,052 | $500,207,943 | 5,46,07,854 |
| 3 | 1998 | Titanic | Adventure | PG-13 | Paramount Pictures | $443,319,081 | $865,842,808 | 9,45,24,324 |
| 4 | 1999 | Star Wars Ep. I: The Phantom Menace | Adventure | PG | 20th Century Fox | $430,443,350 | $776,153,749 | 8,47,32,942 |
| 5 | 2000 | How the Grinch Stole Christmas | Adventure | PG | Universal | $253,367,455 | $430,583,644 | 4,70,06,948 |
| 6 | 2001 | Harry Potter and the Sorcerer’s Stone | Adventure | PG | Warner Bros. | $300,404,434 | $486,166,890 | 5,30,74,988 |
| 7 | 2002 | Spider-Man | Adventure | PG-13 | Sony Pictures | $403,706,375 | $636,480,273 | 6,94,84,746 |
| 8 | 2003 | Finding Nemo | Adventure | G | Walt Disney | $339,714,367 | $516,050,346 | 5,63,37,374 |
| 9 | 2004 | Shrek 2 | Adventure | PG | Dreamworks SKG | $441,226,247 | $650,826,473 | 7,10,50,925 |
| 10 | 2005 | Star Wars Ep. III: Revenge of the Sith | Action | PG-13 | 20th Century Fox | $380,270,577 | $543,413,171 | 5,93,24,582 |
| 11 | 2006 | Pirates of the Caribbean: Dead Man’s Chest | Action | PG-13 | Walt Disney | $423,315,812 | $591,995,851 | 6,46,28,368 |
| 12 | 2007 | Spider-Man 3 | Adventure | PG-13 | Sony Pictures | $336,530,303 | $448,054,878 | 4,89,14,288 |
| 13 | 2008 | The Dark Knight | Adventure | PG-13 | Warner Bros. | $531,001,578 | $677,433,772 | 7,39,55,652 |
| 14 | 2009 | Transformers: Revenge of the Fallen | Action | PG-13 | Paramount Pictures | $402,111,870 | $491,112,631 | 5,36,14,916 |
| 15 | 2010 | Toy Story 3 | Action | G | Walt Disney | $415,004,880 | $481,805,411 | 5,25,98,844 |
| 16 | 2011 | Harry Potter and the Deathly Hallows: Part II | Action | PG-13 | Warner Bros. | $381,011,219 | $440,108,798 | 4,80,46,812 |
| 17 | 2012 | The Avengers | Adventure | PG-13 | Walt Disney | $623,357,910 | $717,331,462 | 7,83,11,295 |
| 18 | 2013 | Iron Man 3 | Adventure | PG-13 | Walt Disney | $408,992,272 | $460,808,016 | 5,03,06,552 |
| 19 | 2014 | Guardians of the Galaxy | Adventure | PG-13 | Walt Disney | $333,055,258 | $373,413,235 | 4,07,65,637 |
| 20 | 2015 | Star Wars Ep. VII: The Force Awakens | Action | PG-13 | Walt Disney | $742,208,942 | $806,480,887 | 8,80,43,765 |
| 21 | 2016 | Finding Dory | Action | PG | Walt Disney | $486,295,561 | $514,967,322 | 5,62,19,140 |
| 22 | 2017 | Star Wars Ep. VIII: The Last Jedi | Action | PG-13 | Walt Disney | $517,218,368 | $528,173,936 | 5,76,60,910 |
| 23 | 2018 | Black Panther | Action | PG-13 | Walt Disney | $700,059,566 | $703,901,821 | 7,68,45,177 |
| 24 | 2019 | Avengers: Endgame | NaN | PG-13 | Walt Disney | $858,373,000 | $858,373,002 | 9,37,08,843 |
| 25 | 2020 | Bad Boys For Life | NaN | R | Sony Pictures | $204,417,855 | $204,417,848 | 2,23,16,359 |
| 26 | 2021 | Shang-Chi and the Legend of the Ten Rings | NaN | PG-13 | Walt Disney | $224,226,704 | $224,226,704 | 2,44,78,897 |
HighestGrossers["TICKETS SOLD"] = HighestGrossers["TICKETS SOLD"].str.replace(',','').astype("int64")
HighestGrossers[["TOTAL FOR YEAR","TOTAL IN 2019 DOLLARS"]] = HighestGrossers[["TOTAL FOR YEAR","TOTAL IN 2019 DOLLARS"]].replace({"\$":'',',':''},regex=True)
HighestGrossers[["TOTAL FOR YEAR","TOTAL IN 2019 DOLLARS"]] = HighestGrossers[["TOTAL FOR YEAR","TOTAL IN 2019 DOLLARS"]].astype('float64')
HighestGrossers=HighestGrossers.dropna()
AnnualTicketSales.drop("Unnamed: 5", axis = 1,inplace=True)
AnnualTicketSales
| YEAR | TICKETS SOLD | TOTAL BOX OFFICE | TOTAL INFLATION ADJUSTED BOX OFFICE | AVERAGE TICKET PRICE | |
|---|---|---|---|---|---|
| 0 | 2021 | 42,37,74,881 | $3,881,777,912 | $3,881,777,912 | $9.16 |
| 1 | 2020 | 22,36,38,958 | $2,048,534,616 | $2,048,534,616 | $9.16 |
| 2 | 2019 | 1,22,85,41,629 | $11,253,443,955 | $11,253,444,050 | $9.16 |
| 3 | 2018 | 1,31,15,36,128 | $11,948,096,650 | $12,013,670,952 | $9.11 |
| 4 | 2017 | 1,22,56,39,761 | $10,993,991,460 | $11,226,860,216 | $8.97 |
| 5 | 2016 | 1,30,25,56,378 | $11,267,115,924 | $11,931,416,424 | $8.65 |
| 6 | 2015 | 1,32,33,56,776 | $11,155,900,636 | $12,121,948,075 | $8.43 |
| 7 | 2014 | 1,25,74,02,920 | $10,272,985,008 | $11,517,810,744 | $8.17 |
| 8 | 2013 | 1,33,91,68,926 | $10,887,446,341 | $12,266,787,382 | $8.13 |
| 9 | 2012 | 1,38,09,21,942 | $10,992,141,616 | $12,649,244,986 | $7.96 |
| 10 | 2011 | 1,28,29,15,168 | $10,173,519,704 | $11,751,502,955 | $7.93 |
| 11 | 2010 | 1,32,85,49,021 | $10,482,254,025 | $12,169,509,032 | $7.89 |
| 12 | 2009 | 1,41,85,67,388 | $10,639,257,284 | $12,994,051,137 | $7.50 |
| 13 | 2008 | 1,35,80,42,073 | $9,750,744,148 | $12,439,665,380 | $7.18 |
| 14 | 2007 | 1,42,00,36,680 | $9,769,854,914 | $13,007,535,993 | $6.88 |
| 15 | 2006 | 1,39,87,38,283 | $9,161,738,221 | $12,812,442,671 | $6.55 |
| 16 | 2005 | 1,37,29,80,280 | $8,800,805,718 | $12,576,499,367 | $6.41 |
| 17 | 2004 | 1,49,56,51,298 | $9,287,996,519 | $13,700,165,883 | $6.21 |
| 18 | 2003 | 1,52,45,89,620 | $9,193,277,289 | $13,965,240,914 | $6.03 |
| 19 | 2002 | 1,57,57,56,527 | $9,155,147,215 | $14,433,929,789 | $5.81 |
| 20 | 2001 | 1,46,58,74,205 | $8,296,849,636 | $13,427,407,722 | $5.66 |
| 21 | 2000 | 1,39,74,60,079 | $7,532,311,479 | $12,800,734,319 | $5.39 |
| 22 | 1999 | 1,44,46,64,086 | $7,338,894,852 | $13,233,123,027 | $5.08 |
| 23 | 1998 | 1,44,38,32,471 | $6,771,575,283 | $13,225,505,439 | $4.69 |
| 24 | 1997 | 1,35,73,49,648 | $6,230,235,770 | $12,433,322,785 | $4.59 |
| 25 | 1996 | 1,30,52,21,290 | $5,769,078,886 | $11,955,781,912 | $4.42 |
| 26 | 1995 | 1,22,17,05,907 | $5,314,421,390 | $11,190,826,105 | $4.35 |
AnnualTicketSales["TICKETS SOLD"] = AnnualTicketSales["TICKETS SOLD"].str.replace(',','').astype("int64")
AnnualTicketSales[["TOTAL BOX OFFICE","TOTAL INFLATION ADJUSTED BOX OFFICE", "AVERAGE TICKET PRICE"]] = AnnualTicketSales[["TOTAL BOX OFFICE","TOTAL INFLATION ADJUSTED BOX OFFICE", "AVERAGE TICKET PRICE"]].replace({"\$":'',',':''},regex=True)
AnnualTicketSales[["TOTAL BOX OFFICE","TOTAL INFLATION ADJUSTED BOX OFFICE", "AVERAGE TICKET PRICE"]] = AnnualTicketSales[["TOTAL BOX OFFICE","TOTAL INFLATION ADJUSTED BOX OFFICE", "AVERAGE TICKET PRICE"]].astype('float64')
AnnualTicketSales
| YEAR | TICKETS SOLD | TOTAL BOX OFFICE | TOTAL INFLATION ADJUSTED BOX OFFICE | AVERAGE TICKET PRICE | |
|---|---|---|---|---|---|
| 0 | 2021 | 423774881 | 3.881778e+09 | 3.881778e+09 | 9.16 |
| 1 | 2020 | 223638958 | 2.048535e+09 | 2.048535e+09 | 9.16 |
| 2 | 2019 | 1228541629 | 1.125344e+10 | 1.125344e+10 | 9.16 |
| 3 | 2018 | 1311536128 | 1.194810e+10 | 1.201367e+10 | 9.11 |
| 4 | 2017 | 1225639761 | 1.099399e+10 | 1.122686e+10 | 8.97 |
| 5 | 2016 | 1302556378 | 1.126712e+10 | 1.193142e+10 | 8.65 |
| 6 | 2015 | 1323356776 | 1.115590e+10 | 1.212195e+10 | 8.43 |
| 7 | 2014 | 1257402920 | 1.027299e+10 | 1.151781e+10 | 8.17 |
| 8 | 2013 | 1339168926 | 1.088745e+10 | 1.226679e+10 | 8.13 |
| 9 | 2012 | 1380921942 | 1.099214e+10 | 1.264924e+10 | 7.96 |
| 10 | 2011 | 1282915168 | 1.017352e+10 | 1.175150e+10 | 7.93 |
| 11 | 2010 | 1328549021 | 1.048225e+10 | 1.216951e+10 | 7.89 |
| 12 | 2009 | 1418567388 | 1.063926e+10 | 1.299405e+10 | 7.50 |
| 13 | 2008 | 1358042073 | 9.750744e+09 | 1.243967e+10 | 7.18 |
| 14 | 2007 | 1420036680 | 9.769855e+09 | 1.300754e+10 | 6.88 |
| 15 | 2006 | 1398738283 | 9.161738e+09 | 1.281244e+10 | 6.55 |
| 16 | 2005 | 1372980280 | 8.800806e+09 | 1.257650e+10 | 6.41 |
| 17 | 2004 | 1495651298 | 9.287997e+09 | 1.370017e+10 | 6.21 |
| 18 | 2003 | 1524589620 | 9.193277e+09 | 1.396524e+10 | 6.03 |
| 19 | 2002 | 1575756527 | 9.155147e+09 | 1.443393e+10 | 5.81 |
| 20 | 2001 | 1465874205 | 8.296850e+09 | 1.342741e+10 | 5.66 |
| 21 | 2000 | 1397460079 | 7.532311e+09 | 1.280073e+10 | 5.39 |
| 22 | 1999 | 1444664086 | 7.338895e+09 | 1.323312e+10 | 5.08 |
| 23 | 1998 | 1443832471 | 6.771575e+09 | 1.322551e+10 | 4.69 |
| 24 | 1997 | 1357349648 | 6.230236e+09 | 1.243332e+10 | 4.59 |
| 25 | 1996 | 1305221290 | 5.769079e+09 | 1.195578e+10 | 4.42 |
| 26 | 1995 | 1221705907 | 5.314421e+09 | 1.119083e+10 | 4.35 |
WideReleasesCount.drop("Unnamed: 9", axis=1, inplace=True)
WideReleasesCount
| YEAR | WARNER BROS | WALT DISNEY | 20TH CENTURY FOX | PARAMOUNT PICTURES | SONY PICTURES | UNIVERSAL | TOTAL MAJOR 6 | TOTAL OTHER STUDIOS | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 2021 | 17 | 7 | 0 | 4 | 16 | 17 | 61 | 38 |
| 1 | 2020 | 5 | 3 | 1 | 3 | 9 | 13 | 34 | 23 |
| 2 | 2019 | 18 | 10 | 11 | 9 | 18 | 21 | 87 | 44 |
| 3 | 2018 | 19 | 10 | 11 | 10 | 16 | 20 | 86 | 58 |
| 4 | 2017 | 18 | 8 | 14 | 10 | 16 | 15 | 81 | 50 |
| 5 | 2016 | 17 | 12 | 16 | 12 | 16 | 22 | 95 | 46 |
| 6 | 2015 | 22 | 11 | 18 | 9 | 13 | 20 | 93 | 33 |
| 7 | 2014 | 17 | 12 | 17 | 10 | 17 | 15 | 88 | 37 |
| 8 | 2013 | 17 | 8 | 15 | 8 | 14 | 16 | 78 | 42 |
| 9 | 2012 | 16 | 11 | 15 | 13 | 18 | 17 | 90 | 42 |
| 10 | 2011 | 20 | 13 | 15 | 13 | 21 | 19 | 101 | 35 |
| 11 | 2010 | 20 | 12 | 18 | 12 | 17 | 17 | 96 | 30 |
| 12 | 2009 | 25 | 14 | 20 | 10 | 21 | 21 | 111 | 30 |
| 13 | 2008 | 19 | 11 | 22 | 14 | 19 | 19 | 104 | 48 |
| 14 | 2007 | 30 | 13 | 17 | 16 | 22 | 20 | 118 | 50 |
| 15 | 2006 | 26 | 17 | 25 | 13 | 26 | 21 | 128 | 31 |
| 16 | 2005 | 20 | 20 | 19 | 12 | 19 | 17 | 107 | 30 |
| 17 | 2004 | 27 | 25 | 18 | 14 | 15 | 14 | 113 | 25 |
| 18 | 2003 | 28 | 19 | 13 | 14 | 19 | 13 | 106 | 23 |
| 19 | 2002 | 32 | 23 | 15 | 16 | 20 | 13 | 119 | 21 |
| 20 | 2001 | 30 | 16 | 16 | 14 | 17 | 10 | 103 | 25 |
| 21 | 2000 | 29 | 22 | 13 | 12 | 15 | 13 | 104 | 27 |
| 22 | 1999 | 27 | 20 | 15 | 13 | 22 | 16 | 113 | 19 |
| 23 | 1998 | 27 | 21 | 11 | 11 | 20 | 16 | 106 | 20 |
| 24 | 1997 | 31 | 22 | 12 | 16 | 22 | 11 | 114 | 22 |
| 25 | 1996 | 31 | 23 | 13 | 16 | 24 | 13 | 120 | 22 |
| 26 | 1995 | 27 | 22 | 11 | 12 | 20 | 17 | 109 | 27 |
TopProduction.head()
| RANK | PRODUCTION METHODS | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1 | Live Action | 14613.0 | 1.796372e+11 | 12292972.0 | 75.56 |
| 1 | 2 | Animation/Live Action | 264.0 | 3.034662e+10 | 114949327.0 | 12.76 |
| 2 | 3 | Digital Animation | 365.0 | 2.392018e+10 | 65534741.0 | 10.06 |
| 3 | 4 | Hand Animation | 164.0 | 2.960497e+09 | 18051814.0 | 1.25 |
| 4 | 5 | Stop-Motion Animation | 37.0 | 6.764901e+08 | 18283517.0 | 0.28 |
c = dict(zip(TopProduction["PRODUCTION METHODS"].unique(), px.colors.qualitative.G10))
fig = make_subplots(1, 2, specs=[[{"type": "xy"},{"type": "domain"}]],subplot_titles=['Average Gross', 'Market Share'])
fig.add_trace(
go.Bar(x = TopProduction['PRODUCTION METHODS'], y = TopProduction['AVERAGE GROSS'], showlegend = False, marker=dict(color=['#1f77b4','#d62728','#2ca02c','#9467bd','#ff7f0e','#17becf','#e377c2'])),1,1
)
fig.add_trace(
go.Pie(labels=TopProduction['PRODUCTION METHODS'], values=TopProduction['MARKET SHARE']),1,2
)
fig.update_layout(title_text="Average Gross and Market Shares of different production types for movies")
fig.show()
TopDistributors
| RANK | DISTRIBUTORS | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1 | Walt Disney | 588 | 4.047242e+10 | 68830654.0 | 17.02 |
| 1 | 2 | Warner Bros. | 824 | 3.626943e+10 | 44016293.0 | 15.25 |
| 2 | 3 | Sony Pictures | 747 | 2.911300e+10 | 38973229.0 | 12.24 |
| 3 | 4 | Universal | 535 | 2.808993e+10 | 52504547.0 | 11.81 |
| 4 | 5 | 20th Century Fox | 525 | 2.585784e+10 | 49253028.0 | 10.88 |
| 5 | 6 | Paramount Pictures | 493 | 2.436143e+10 | 49414656.0 | 10.25 |
| 6 | 7 | Lionsgate | 426 | 9.631838e+09 | 22609948.0 | 4.05 |
| 7 | 8 | New Line | 209 | 6.195268e+09 | 29642431.0 | 2.61 |
| 8 | 9 | Dreamworks SKG | 77 | 4.278649e+09 | 55566874.0 | 1.80 |
| 9 | 10 | Miramax | 385 | 3.836019e+09 | 9963686.0 | 1.61 |
c = dict(zip(TopDistributors["DISTRIBUTORS"].unique(), px.colors.qualitative.G10))
fig = make_subplots(1, 2, specs=[[{"type": "xy"},{"type": "domain"}]],subplot_titles=['Average Gross', 'Market Share'])
fig.add_trace(
go.Bar(x = TopDistributors['DISTRIBUTORS'], y = TopDistributors['AVERAGE GROSS'], showlegend = False, marker=dict(color=['#1f77b4','#d62728','#2ca02c','#9467bd','#ff7f0e','#17becf','#e97a96','#b1ff65','#ff63e9','#FFCD9B'])),1,1
)
fig.add_trace(
go.Pie(labels=TopDistributors['DISTRIBUTORS'], values=TopDistributors['MARKET SHARE']),1,2
)
fig.update_layout(title_text="Average Gross and Market Shares of different distributors")
fig.show()
TopGenres
| RANK | GENRES | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1 | Adventure | 1102.0 | 6.452954e+10 | 58556748.0 | 27.14 |
| 1 | 2 | Action | 1098.0 | 4.933997e+10 | 44936224.0 | 20.75 |
| 2 | 3 | Drama | 5479.0 | 3.558618e+10 | 6495013.0 | 14.97 |
| 3 | 4 | Comedy | 2418.0 | 3.368799e+10 | 13932172.0 | 14.17 |
| 4 | 5 | Thriller/Suspense | 1186.0 | 1.981020e+10 | 16703374.0 | 8.33 |
| 5 | 6 | Horror | 716.0 | 1.343038e+10 | 18757512.0 | 5.65 |
| 6 | 7 | Romantic Comedy | 630.0 | 1.048012e+10 | 16635118.0 | 4.41 |
| 7 | 8 | Musical | 201.0 | 4.293988e+09 | 21363126.0 | 1.81 |
| 8 | 9 | Documentary | 2415.0 | 2.519513e+09 | 1043277.0 | 1.06 |
| 9 | 10 | Black Comedy | 213.0 | 2.185433e+09 | 10260250.0 | 0.92 |
c = dict(zip(TopGenres["GENRES"].unique(), px.colors.qualitative.G10))
fig = make_subplots(1, 2, specs=[[{"type": "xy"},{"type": "domain"}]],subplot_titles=['Average Gross', 'Market Share'])
fig.add_trace(
go.Bar(x = TopGenres['GENRES'], y = TopGenres['AVERAGE GROSS'], showlegend = False, marker=dict(color=['#1f77b4','#d62728','#2ca02c','#9467bd','#ff7f0e','#17becf','#e97a96','#b1ff65','#ff63e9','#FFCD9B'])),1,1
)
fig.add_trace(
go.Pie(labels=TopGenres['GENRES'], values=TopGenres['MARKET SHARE']),1,2
)
fig.update_layout(title_text="Average Gross and Market Shares of different movie genres")
fig.show()
PopularTypes
| RANK | CREATIVE TYPES | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1.0 | Contemporary Fiction | 7442.0 | 9.620373e+10 | 12927133.0 | 40.46 |
| 1 | 2.0 | Kids Fiction | 564.0 | 3.203554e+10 | 56800602.0 | 13.47 |
| 2 | 3.0 | Science Fiction | 724.0 | 2.992266e+10 | 41329642.0 | 12.59 |
| 3 | 4.0 | Fantasy | 759.0 | 2.172406e+10 | 28621953.0 | 9.14 |
| 4 | 5.0 | Super Hero | 129.0 | 2.027316e+10 | 157156263.0 | 8.53 |
| 5 | 6.0 | Historical Fiction | 1487.0 | 1.852126e+10 | 12455454.0 | 7.79 |
| 6 | 7.0 | Dramatization | 1175.0 | 1.571519e+10 | 13374631.0 | 6.61 |
| 7 | 8.0 | Factual | 2467.0 | 2.960327e+09 | 1199970.0 | 1.25 |
| 8 | 9.0 | Multiple Creative Types | 42.0 | 1.175745e+08 | 2799393.0 | 0.05 |
c = dict(zip(PopularTypes["CREATIVE TYPES"].unique(), px.colors.qualitative.G10))
fig = make_subplots(1, 2, specs=[[{"type": "xy"},{"type": "domain"}]],subplot_titles=['Average Gross', 'Market Share'])
fig.add_trace(
go.Bar(x = PopularTypes['CREATIVE TYPES'], y = PopularTypes['AVERAGE GROSS'], showlegend = False, marker=dict(color=['#1f77b4','#d62728','#2ca02c','#9467bd','#ff7f0e','#17becf','#e97a96','#b1ff65','#ff63e9','#FFCD9B'])),1,1
)
fig.add_trace(
go.Pie(labels=PopularTypes['CREATIVE TYPES'], values=PopularTypes['MARKET SHARE']),1,2
)
fig.update_layout(title_text="Average Gross and Market Shares of different movie types")
fig.show()
TopGrossingRatings
| RANK | MPAA RATINGS | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1 | PG-13 | 3243.0 | 1.135248e+11 | 35006102.0 | 47.75 |
| 1 | 2 | R | 5480.0 | 6.349716e+10 | 11587074.0 | 26.71 |
| 2 | 3 | PG | 1535.0 | 4.912432e+10 | 32002813.0 | 20.66 |
| 3 | 4 | G | 395.0 | 9.572240e+09 | 24233520.0 | 4.03 |
| 4 | 5 | Not Rated | 5820.0 | 1.918358e+09 | 329615.0 | 0.81 |
| 5 | 6 | NC-17 | 24.0 | 4.485014e+07 | 1868756.0 | 0.02 |
| 6 | 7 | Open | 5.0 | 5.489687e+06 | 1097937.0 | 0.00 |
| 7 | 8 | GP | 7.0 | 5.526180e+05 | 78945.0 | 0.00 |
c = dict(zip(TopGrossingRatings["MPAA RATINGS"].unique(), px.colors.qualitative.G10))
fig = make_subplots(1, 2, specs=[[{"type": "xy"},{"type": "domain"}]],subplot_titles=['Average Gross', 'Market Share'])
fig.add_trace(
go.Bar(x = TopGrossingRatings['MPAA RATINGS'], y = TopGrossingRatings['AVERAGE GROSS'], showlegend = False, marker=dict(color=['#1f77b4','#d62728','#2ca02c','#9467bd','#ff7f0e','#17becf','#e97a96','#b1ff65','#ff63e9','#FFCD9B'])),1,1
)
fig.add_trace(
go.Pie(labels=TopGrossingRatings['MPAA RATINGS'], values=TopGrossingRatings['MARKET SHARE']),1,2
)
fig.update_layout(title_text="Average Gross and Market Shares of different movies based on ratings")
fig.show()
TopGrossingSources
| RANK | SOURCES | MOVIES | TOTAL GROSS | AVERAGE GROSS | MARKET SHARE | |
|---|---|---|---|---|---|---|
| 0 | 1 | Original Screenplay | 7946.0 | 1.063752e+11 | 13387264.0 | 44.74 |
| 1 | 2 | Based on Fiction Book/Short Story | 2150.0 | 4.700561e+10 | 21863076.0 | 19.77 |
| 2 | 3 | Based on Comic/Graphic Novel | 249.0 | 2.336999e+10 | 93855378.0 | 9.83 |
| 3 | 4 | Remake | 328.0 | 1.283266e+10 | 39123963.0 | 5.40 |
| 4 | 5 | Based on Real Life Events | 3225.0 | 1.139836e+10 | 3534374.0 | 4.79 |
| 5 | 6 | Based on TV | 231.0 | 1.130501e+10 | 48939421.0 | 4.75 |
| 6 | 7 | Based on Factual Book/Article | 295.0 | 7.443682e+09 | 25232820.0 | 3.13 |
| 7 | 8 | Spin-Off | 41.0 | 3.833128e+09 | 93490935.0 | 1.61 |
| 8 | 9 | Based on Folk Tale/Legend/Fairytale | 78.0 | 3.406118e+09 | 43668186.0 | 1.43 |
| 9 | 10 | Based on Play | 271.0 | 2.111191e+09 | 7790372.0 | 0.89 |
c = dict(zip(TopGrossingSources["SOURCES"].unique(), px.colors.qualitative.G10))
fig = make_subplots(1, 2, specs=[[{"type": "xy"},{"type": "domain"}]],subplot_titles=['Average Gross', 'Market Share'])
fig.add_trace(
go.Bar(x = TopGrossingSources['SOURCES'], y = TopGrossingSources['AVERAGE GROSS'], showlegend = False, marker=dict(color=['#1f77b4','#d62728','#2ca02c','#9467bd','#ff7f0e','#17becf','#e97a96','#b1ff65','#ff63e9','#FFCD9B'])),1,1
)
fig.add_trace(
go.Pie(labels=TopGrossingSources['SOURCES'], values=TopGrossingSources['MARKET SHARE']),1,2
)
fig.update_layout(title_text="Average Gross and Market Shares of different sources of movies (i.e, originals, spinoffs, remakes)")
fig.show()
HighestGrossers
| YEAR | MOVIE | GENRE | MPAA RATING | DISTRIBUTOR | TOTAL FOR YEAR | TOTAL IN 2019 DOLLARS | TICKETS SOLD | |
|---|---|---|---|---|---|---|---|---|
| 0 | 1995 | Batman Forever | Drama | PG-13 | Warner Bros. | 184031112.0 | 387522978.0 | 42306002 |
| 1 | 1996 | Independence Day | Adventure | PG-13 | 20th Century Fox | 306169255.0 | 634504608.0 | 69269062 |
| 2 | 1997 | Men in Black | Adventure | PG-13 | Sony Pictures | 250650052.0 | 500207943.0 | 54607854 |
| 3 | 1998 | Titanic | Adventure | PG-13 | Paramount Pictures | 443319081.0 | 865842808.0 | 94524324 |
| 4 | 1999 | Star Wars Ep. I: The Phantom Menace | Adventure | PG | 20th Century Fox | 430443350.0 | 776153749.0 | 84732942 |
| 5 | 2000 | How the Grinch Stole Christmas | Adventure | PG | Universal | 253367455.0 | 430583644.0 | 47006948 |
| 6 | 2001 | Harry Potter and the Sorcerer’s Stone | Adventure | PG | Warner Bros. | 300404434.0 | 486166890.0 | 53074988 |
| 7 | 2002 | Spider-Man | Adventure | PG-13 | Sony Pictures | 403706375.0 | 636480273.0 | 69484746 |
| 8 | 2003 | Finding Nemo | Adventure | G | Walt Disney | 339714367.0 | 516050346.0 | 56337374 |
| 9 | 2004 | Shrek 2 | Adventure | PG | Dreamworks SKG | 441226247.0 | 650826473.0 | 71050925 |
| 10 | 2005 | Star Wars Ep. III: Revenge of the Sith | Action | PG-13 | 20th Century Fox | 380270577.0 | 543413171.0 | 59324582 |
| 11 | 2006 | Pirates of the Caribbean: Dead Man’s Chest | Action | PG-13 | Walt Disney | 423315812.0 | 591995851.0 | 64628368 |
| 12 | 2007 | Spider-Man 3 | Adventure | PG-13 | Sony Pictures | 336530303.0 | 448054878.0 | 48914288 |
| 13 | 2008 | The Dark Knight | Adventure | PG-13 | Warner Bros. | 531001578.0 | 677433772.0 | 73955652 |
| 14 | 2009 | Transformers: Revenge of the Fallen | Action | PG-13 | Paramount Pictures | 402111870.0 | 491112631.0 | 53614916 |
| 15 | 2010 | Toy Story 3 | Action | G | Walt Disney | 415004880.0 | 481805411.0 | 52598844 |
| 16 | 2011 | Harry Potter and the Deathly Hallows: Part II | Action | PG-13 | Warner Bros. | 381011219.0 | 440108798.0 | 48046812 |
| 17 | 2012 | The Avengers | Adventure | PG-13 | Walt Disney | 623357910.0 | 717331462.0 | 78311295 |
| 18 | 2013 | Iron Man 3 | Adventure | PG-13 | Walt Disney | 408992272.0 | 460808016.0 | 50306552 |
| 19 | 2014 | Guardians of the Galaxy | Adventure | PG-13 | Walt Disney | 333055258.0 | 373413235.0 | 40765637 |
| 20 | 2015 | Star Wars Ep. VII: The Force Awakens | Action | PG-13 | Walt Disney | 742208942.0 | 806480887.0 | 88043765 |
| 21 | 2016 | Finding Dory | Action | PG | Walt Disney | 486295561.0 | 514967322.0 | 56219140 |
| 22 | 2017 | Star Wars Ep. VIII: The Last Jedi | Action | PG-13 | Walt Disney | 517218368.0 | 528173936.0 | 57660910 |
| 23 | 2018 | Black Panther | Action | PG-13 | Walt Disney | 700059566.0 | 703901821.0 | 76845177 |
fig = px.treemap(HighestGrossers, path=[px.Constant("all"), 'DISTRIBUTOR', 'MPAA RATING', 'GENRE'], values='TOTAL IN 2019 DOLLARS')
fig.update_traces(root_color="lightgrey")
fig.update_layout(margin = dict(t=50, l=25, r=25, b=25))
fig.show()
We get to see that Walt Disney has produced a majority of the highest grossing films, with all of them being rated PG-13/PG/G. Even with other studios, we see these ratings are the only to show up. This is most likely due to reaching a wider audience under these ratings as younger kid and pre-teens would bring their parent/s to the movie as well, resulting in more ticket sales and a larger box office. Action/Adventure movies are big and since superhero movies fall into these categories, we can assume big box offices.
fig = go.Figure(data=[
go.Bar(name='Total Revenue',x=HighestGrossers['MPAA RATING'], y=HighestGrossers['TOTAL FOR YEAR']),
go.Bar(name='Total Revenue adjusted for inflation', x=HighestGrossers['MPAA RATING'], y=HighestGrossers['TOTAL IN 2019 DOLLARS'])
])
fig.update_layout(barmode='group')
fig.update_layout(title_text="Total Revenue and Total Revenue adjusted for inflation sorted by Distributor")
fig.show()
AnnualTicketSales
| YEAR | TICKETS SOLD | TOTAL BOX OFFICE | TOTAL INFLATION ADJUSTED BOX OFFICE | AVERAGE TICKET PRICE | |
|---|---|---|---|---|---|
| 0 | 2021 | 423774881 | 3.881778e+09 | 3.881778e+09 | 9.16 |
| 1 | 2020 | 223638958 | 2.048535e+09 | 2.048535e+09 | 9.16 |
| 2 | 2019 | 1228541629 | 1.125344e+10 | 1.125344e+10 | 9.16 |
| 3 | 2018 | 1311536128 | 1.194810e+10 | 1.201367e+10 | 9.11 |
| 4 | 2017 | 1225639761 | 1.099399e+10 | 1.122686e+10 | 8.97 |
| 5 | 2016 | 1302556378 | 1.126712e+10 | 1.193142e+10 | 8.65 |
| 6 | 2015 | 1323356776 | 1.115590e+10 | 1.212195e+10 | 8.43 |
| 7 | 2014 | 1257402920 | 1.027299e+10 | 1.151781e+10 | 8.17 |
| 8 | 2013 | 1339168926 | 1.088745e+10 | 1.226679e+10 | 8.13 |
| 9 | 2012 | 1380921942 | 1.099214e+10 | 1.264924e+10 | 7.96 |
| 10 | 2011 | 1282915168 | 1.017352e+10 | 1.175150e+10 | 7.93 |
| 11 | 2010 | 1328549021 | 1.048225e+10 | 1.216951e+10 | 7.89 |
| 12 | 2009 | 1418567388 | 1.063926e+10 | 1.299405e+10 | 7.50 |
| 13 | 2008 | 1358042073 | 9.750744e+09 | 1.243967e+10 | 7.18 |
| 14 | 2007 | 1420036680 | 9.769855e+09 | 1.300754e+10 | 6.88 |
| 15 | 2006 | 1398738283 | 9.161738e+09 | 1.281244e+10 | 6.55 |
| 16 | 2005 | 1372980280 | 8.800806e+09 | 1.257650e+10 | 6.41 |
| 17 | 2004 | 1495651298 | 9.287997e+09 | 1.370017e+10 | 6.21 |
| 18 | 2003 | 1524589620 | 9.193277e+09 | 1.396524e+10 | 6.03 |
| 19 | 2002 | 1575756527 | 9.155147e+09 | 1.443393e+10 | 5.81 |
| 20 | 2001 | 1465874205 | 8.296850e+09 | 1.342741e+10 | 5.66 |
| 21 | 2000 | 1397460079 | 7.532311e+09 | 1.280073e+10 | 5.39 |
| 22 | 1999 | 1444664086 | 7.338895e+09 | 1.323312e+10 | 5.08 |
| 23 | 1998 | 1443832471 | 6.771575e+09 | 1.322551e+10 | 4.69 |
| 24 | 1997 | 1357349648 | 6.230236e+09 | 1.243332e+10 | 4.59 |
| 25 | 1996 | 1305221290 | 5.769079e+09 | 1.195578e+10 | 4.42 |
| 26 | 1995 | 1221705907 | 5.314421e+09 | 1.119083e+10 | 4.35 |
fig = make_subplots(specs=[[{"secondary_y": True}]])
fig.add_trace(
go.Scatter(x=AnnualTicketSales["YEAR"], y=AnnualTicketSales["TICKETS SOLD"], name="yaxis data"),
secondary_y=False,
)
fig.add_trace(
go.Scatter(x=AnnualTicketSales["YEAR"], y=AnnualTicketSales["AVERAGE TICKET PRICE"], name="yaxis2 data"),
secondary_y=True,
)
# Add figure title
fig.update_layout(
title_text="Tickets sold and average ticket price thorughout the years"
)
# Set x-axis title
fig.update_xaxes(title_text="Years")
# Set y-axes titles
fig.update_yaxes(title_text="<b>Tickets Sold</b>", secondary_y=False)
fig.update_yaxes(title_text="<b>Average Ticket Price</b> ", secondary_y=True)
fig.show()
The number of tickets sold does not seem to have any effect on the average ticket price.
fig = make_subplots(specs=[[{"secondary_y": True}]])
fig.add_trace(
go.Scatter(x=AnnualTicketSales["YEAR"], y=AnnualTicketSales["TOTAL INFLATION ADJUSTED BOX OFFICE"], name="yaxis data"),
secondary_y=False,
)
fig.update_layout(
title_text="Total inflation adjusted box office over the years"
)
fig.update_xaxes(title_text="Years")
fig.add_vline(x="2019.25")
fig.update_yaxes(title_text="<b>Tickets Sold</b>", secondary_y=False)
fig.update_yaxes(title_text="<b>Average Ticket Price</b> ", secondary_y=True)
fig.show()
We can slowly see a bit of a decline in the tickets sold as we move deeper into the information era, where people have an easier access to illegally watch movies. Nevertheless, the black line is when countries started going into lockdowns and we see a 8-9bn drop in box office. Which was very big for Hollywood, that being said we also saw many movies being delayed and pushed back. The loss won't be recouped as when the delayed movies are released in the future, they will be competing with new movies which will just split the box office.
WideReleasesCount
| YEAR | WARNER BROS | WALT DISNEY | 20TH CENTURY FOX | PARAMOUNT PICTURES | SONY PICTURES | UNIVERSAL | TOTAL MAJOR 6 | TOTAL OTHER STUDIOS | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 2021 | 17 | 7 | 0 | 4 | 16 | 17 | 61 | 38 |
| 1 | 2020 | 5 | 3 | 1 | 3 | 9 | 13 | 34 | 23 |
| 2 | 2019 | 18 | 10 | 11 | 9 | 18 | 21 | 87 | 44 |
| 3 | 2018 | 19 | 10 | 11 | 10 | 16 | 20 | 86 | 58 |
| 4 | 2017 | 18 | 8 | 14 | 10 | 16 | 15 | 81 | 50 |
| 5 | 2016 | 17 | 12 | 16 | 12 | 16 | 22 | 95 | 46 |
| 6 | 2015 | 22 | 11 | 18 | 9 | 13 | 20 | 93 | 33 |
| 7 | 2014 | 17 | 12 | 17 | 10 | 17 | 15 | 88 | 37 |
| 8 | 2013 | 17 | 8 | 15 | 8 | 14 | 16 | 78 | 42 |
| 9 | 2012 | 16 | 11 | 15 | 13 | 18 | 17 | 90 | 42 |
| 10 | 2011 | 20 | 13 | 15 | 13 | 21 | 19 | 101 | 35 |
| 11 | 2010 | 20 | 12 | 18 | 12 | 17 | 17 | 96 | 30 |
| 12 | 2009 | 25 | 14 | 20 | 10 | 21 | 21 | 111 | 30 |
| 13 | 2008 | 19 | 11 | 22 | 14 | 19 | 19 | 104 | 48 |
| 14 | 2007 | 30 | 13 | 17 | 16 | 22 | 20 | 118 | 50 |
| 15 | 2006 | 26 | 17 | 25 | 13 | 26 | 21 | 128 | 31 |
| 16 | 2005 | 20 | 20 | 19 | 12 | 19 | 17 | 107 | 30 |
| 17 | 2004 | 27 | 25 | 18 | 14 | 15 | 14 | 113 | 25 |
| 18 | 2003 | 28 | 19 | 13 | 14 | 19 | 13 | 106 | 23 |
| 19 | 2002 | 32 | 23 | 15 | 16 | 20 | 13 | 119 | 21 |
| 20 | 2001 | 30 | 16 | 16 | 14 | 17 | 10 | 103 | 25 |
| 21 | 2000 | 29 | 22 | 13 | 12 | 15 | 13 | 104 | 27 |
| 22 | 1999 | 27 | 20 | 15 | 13 | 22 | 16 | 113 | 19 |
| 23 | 1998 | 27 | 21 | 11 | 11 | 20 | 16 | 106 | 20 |
| 24 | 1997 | 31 | 22 | 12 | 16 | 22 | 11 | 114 | 22 |
| 25 | 1996 | 31 | 23 | 13 | 16 | 24 | 13 | 120 | 22 |
| 26 | 1995 | 27 | 22 | 11 | 12 | 20 | 17 | 109 | 27 |
fig = make_subplots(4, 2, specs=[[{"type": "xy"},{"type": "xy"}],[{"type": "xy"},{"type": "xy"}],[{"type": "xy"},{"type": "xy"}],[{"type": "xy"},{"type": "xy"}]],subplot_titles=("Warner Brothers","Walt Disney", "20th Century Fox", "Paramount Pictures", "Sony Pictures","Universal","Total Major 6", "Total Other Studios"))
fig.add_trace(
go.Bar(x = WideReleasesCount['YEAR'], y = WideReleasesCount['WARNER BROS'], name="Warner Bros", showlegend = False),1,1
)
fig.add_trace(
go.Bar(x = WideReleasesCount['YEAR'], y = WideReleasesCount['WALT DISNEY'], name="Walt Disney",showlegend = False),1,2
)
fig.add_trace(
go.Bar(x = WideReleasesCount['YEAR'], y = WideReleasesCount['20TH CENTURY FOX'], name="20TH Century FOx",showlegend = False),2,1
)
fig.add_trace(
go.Bar(x = WideReleasesCount['YEAR'], y = WideReleasesCount['PARAMOUNT PICTURES'],name="Paramount Pictures", showlegend = False),2,2
)
fig.add_trace(
go.Bar(x = WideReleasesCount['YEAR'], y = WideReleasesCount['SONY PICTURES'], name="Sony Pictures",showlegend = False),3,1
)
fig.add_trace(
go.Bar(x = WideReleasesCount['YEAR'], y = WideReleasesCount['UNIVERSAL'], name="Universal",showlegend = False),3,2
)
fig.add_trace(
go.Bar(x = WideReleasesCount['YEAR'], y = WideReleasesCount['TOTAL MAJOR 6'], name="Total Major 6",showlegend = False),4,1
)
fig.add_trace(
go.Bar(x = WideReleasesCount['YEAR'], y = WideReleasesCount['TOTAL OTHER STUDIOS'], name="Total Other Studios" ,showlegend = False),4,2
)
fig.update_layout(height=900, width=900,
title_text='Wide Releases over the years sorted by studio')
fig.show()
We see number of wide releases drop in 2020 due to movies getting pushed back to 2021 or 2022, thus seeing a jump in 2021.